package com.gridmobi.xrtb.domain.adn;

import java.util.ArrayList;
import java.util.List;

public class PublisherInvoiceExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Integer offset;

    public PublisherInvoiceExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    public Integer getOffset() {
        return offset;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andPublisheridIsNull() {
            addCriterion("publisherid is null");
            return (Criteria) this;
        }

        public Criteria andPublisheridIsNotNull() {
            addCriterion("publisherid is not null");
            return (Criteria) this;
        }

        public Criteria andPublisheridEqualTo(Integer value) {
            addCriterion("publisherid =", value, "publisherid");
            return (Criteria) this;
        }

        public Criteria andPublisheridNotEqualTo(Integer value) {
            addCriterion("publisherid <>", value, "publisherid");
            return (Criteria) this;
        }

        public Criteria andPublisheridGreaterThan(Integer value) {
            addCriterion("publisherid >", value, "publisherid");
            return (Criteria) this;
        }

        public Criteria andPublisheridGreaterThanOrEqualTo(Integer value) {
            addCriterion("publisherid >=", value, "publisherid");
            return (Criteria) this;
        }

        public Criteria andPublisheridLessThan(Integer value) {
            addCriterion("publisherid <", value, "publisherid");
            return (Criteria) this;
        }

        public Criteria andPublisheridLessThanOrEqualTo(Integer value) {
            addCriterion("publisherid <=", value, "publisherid");
            return (Criteria) this;
        }

        public Criteria andPublisheridIn(List<Integer> values) {
            addCriterion("publisherid in", values, "publisherid");
            return (Criteria) this;
        }

        public Criteria andPublisheridNotIn(List<Integer> values) {
            addCriterion("publisherid not in", values, "publisherid");
            return (Criteria) this;
        }

        public Criteria andPublisheridBetween(Integer value1, Integer value2) {
            addCriterion("publisherid between", value1, value2, "publisherid");
            return (Criteria) this;
        }

        public Criteria andPublisheridNotBetween(Integer value1, Integer value2) {
            addCriterion("publisherid not between", value1, value2, "publisherid");
            return (Criteria) this;
        }

        public Criteria andYearmonthIsNull() {
            addCriterion("yearmonth is null");
            return (Criteria) this;
        }

        public Criteria andYearmonthIsNotNull() {
            addCriterion("yearmonth is not null");
            return (Criteria) this;
        }

        public Criteria andYearmonthEqualTo(String value) {
            addCriterion("yearmonth =", value, "yearmonth");
            return (Criteria) this;
        }

        public Criteria andYearmonthNotEqualTo(String value) {
            addCriterion("yearmonth <>", value, "yearmonth");
            return (Criteria) this;
        }

        public Criteria andYearmonthGreaterThan(String value) {
            addCriterion("yearmonth >", value, "yearmonth");
            return (Criteria) this;
        }

        public Criteria andYearmonthGreaterThanOrEqualTo(String value) {
            addCriterion("yearmonth >=", value, "yearmonth");
            return (Criteria) this;
        }

        public Criteria andYearmonthLessThan(String value) {
            addCriterion("yearmonth <", value, "yearmonth");
            return (Criteria) this;
        }

        public Criteria andYearmonthLessThanOrEqualTo(String value) {
            addCriterion("yearmonth <=", value, "yearmonth");
            return (Criteria) this;
        }

        public Criteria andYearmonthLike(String value) {
            addCriterion("yearmonth like", value, "yearmonth");
            return (Criteria) this;
        }

        public Criteria andYearmonthNotLike(String value) {
            addCriterion("yearmonth not like", value, "yearmonth");
            return (Criteria) this;
        }

        public Criteria andYearmonthIn(List<String> values) {
            addCriterion("yearmonth in", values, "yearmonth");
            return (Criteria) this;
        }

        public Criteria andYearmonthNotIn(List<String> values) {
            addCriterion("yearmonth not in", values, "yearmonth");
            return (Criteria) this;
        }

        public Criteria andYearmonthBetween(String value1, String value2) {
            addCriterion("yearmonth between", value1, value2, "yearmonth");
            return (Criteria) this;
        }

        public Criteria andYearmonthNotBetween(String value1, String value2) {
            addCriterion("yearmonth not between", value1, value2, "yearmonth");
            return (Criteria) this;
        }

        public Criteria andInvoicenoIsNull() {
            addCriterion("invoiceno is null");
            return (Criteria) this;
        }

        public Criteria andInvoicenoIsNotNull() {
            addCriterion("invoiceno is not null");
            return (Criteria) this;
        }

        public Criteria andInvoicenoEqualTo(String value) {
            addCriterion("invoiceno =", value, "invoiceno");
            return (Criteria) this;
        }

        public Criteria andInvoicenoNotEqualTo(String value) {
            addCriterion("invoiceno <>", value, "invoiceno");
            return (Criteria) this;
        }

        public Criteria andInvoicenoGreaterThan(String value) {
            addCriterion("invoiceno >", value, "invoiceno");
            return (Criteria) this;
        }

        public Criteria andInvoicenoGreaterThanOrEqualTo(String value) {
            addCriterion("invoiceno >=", value, "invoiceno");
            return (Criteria) this;
        }

        public Criteria andInvoicenoLessThan(String value) {
            addCriterion("invoiceno <", value, "invoiceno");
            return (Criteria) this;
        }

        public Criteria andInvoicenoLessThanOrEqualTo(String value) {
            addCriterion("invoiceno <=", value, "invoiceno");
            return (Criteria) this;
        }

        public Criteria andInvoicenoLike(String value) {
            addCriterion("invoiceno like", value, "invoiceno");
            return (Criteria) this;
        }

        public Criteria andInvoicenoNotLike(String value) {
            addCriterion("invoiceno not like", value, "invoiceno");
            return (Criteria) this;
        }

        public Criteria andInvoicenoIn(List<String> values) {
            addCriterion("invoiceno in", values, "invoiceno");
            return (Criteria) this;
        }

        public Criteria andInvoicenoNotIn(List<String> values) {
            addCriterion("invoiceno not in", values, "invoiceno");
            return (Criteria) this;
        }

        public Criteria andInvoicenoBetween(String value1, String value2) {
            addCriterion("invoiceno between", value1, value2, "invoiceno");
            return (Criteria) this;
        }

        public Criteria andInvoicenoNotBetween(String value1, String value2) {
            addCriterion("invoiceno not between", value1, value2, "invoiceno");
            return (Criteria) this;
        }

        public Criteria andTotalpayoutIsNull() {
            addCriterion("totalpayout is null");
            return (Criteria) this;
        }

        public Criteria andTotalpayoutIsNotNull() {
            addCriterion("totalpayout is not null");
            return (Criteria) this;
        }

        public Criteria andTotalpayoutEqualTo(Float value) {
            addCriterion("totalpayout =", value, "totalpayout");
            return (Criteria) this;
        }

        public Criteria andTotalpayoutNotEqualTo(Float value) {
            addCriterion("totalpayout <>", value, "totalpayout");
            return (Criteria) this;
        }

        public Criteria andTotalpayoutGreaterThan(Float value) {
            addCriterion("totalpayout >", value, "totalpayout");
            return (Criteria) this;
        }

        public Criteria andTotalpayoutGreaterThanOrEqualTo(Float value) {
            addCriterion("totalpayout >=", value, "totalpayout");
            return (Criteria) this;
        }

        public Criteria andTotalpayoutLessThan(Float value) {
            addCriterion("totalpayout <", value, "totalpayout");
            return (Criteria) this;
        }

        public Criteria andTotalpayoutLessThanOrEqualTo(Float value) {
            addCriterion("totalpayout <=", value, "totalpayout");
            return (Criteria) this;
        }

        public Criteria andTotalpayoutIn(List<Float> values) {
            addCriterion("totalpayout in", values, "totalpayout");
            return (Criteria) this;
        }

        public Criteria andTotalpayoutNotIn(List<Float> values) {
            addCriterion("totalpayout not in", values, "totalpayout");
            return (Criteria) this;
        }

        public Criteria andTotalpayoutBetween(Float value1, Float value2) {
            addCriterion("totalpayout between", value1, value2, "totalpayout");
            return (Criteria) this;
        }

        public Criteria andTotalpayoutNotBetween(Float value1, Float value2) {
            addCriterion("totalpayout not between", value1, value2, "totalpayout");
            return (Criteria) this;
        }

        public Criteria andApprovedpayoutIsNull() {
            addCriterion("approvedpayout is null");
            return (Criteria) this;
        }

        public Criteria andApprovedpayoutIsNotNull() {
            addCriterion("approvedpayout is not null");
            return (Criteria) this;
        }

        public Criteria andApprovedpayoutEqualTo(Float value) {
            addCriterion("approvedpayout =", value, "approvedpayout");
            return (Criteria) this;
        }

        public Criteria andApprovedpayoutNotEqualTo(Float value) {
            addCriterion("approvedpayout <>", value, "approvedpayout");
            return (Criteria) this;
        }

        public Criteria andApprovedpayoutGreaterThan(Float value) {
            addCriterion("approvedpayout >", value, "approvedpayout");
            return (Criteria) this;
        }

        public Criteria andApprovedpayoutGreaterThanOrEqualTo(Float value) {
            addCriterion("approvedpayout >=", value, "approvedpayout");
            return (Criteria) this;
        }

        public Criteria andApprovedpayoutLessThan(Float value) {
            addCriterion("approvedpayout <", value, "approvedpayout");
            return (Criteria) this;
        }

        public Criteria andApprovedpayoutLessThanOrEqualTo(Float value) {
            addCriterion("approvedpayout <=", value, "approvedpayout");
            return (Criteria) this;
        }

        public Criteria andApprovedpayoutIn(List<Float> values) {
            addCriterion("approvedpayout in", values, "approvedpayout");
            return (Criteria) this;
        }

        public Criteria andApprovedpayoutNotIn(List<Float> values) {
            addCriterion("approvedpayout not in", values, "approvedpayout");
            return (Criteria) this;
        }

        public Criteria andApprovedpayoutBetween(Float value1, Float value2) {
            addCriterion("approvedpayout between", value1, value2, "approvedpayout");
            return (Criteria) this;
        }

        public Criteria andApprovedpayoutNotBetween(Float value1, Float value2) {
            addCriterion("approvedpayout not between", value1, value2, "approvedpayout");
            return (Criteria) this;
        }

        public Criteria andInvoiceurlIsNull() {
            addCriterion("invoiceurl is null");
            return (Criteria) this;
        }

        public Criteria andInvoiceurlIsNotNull() {
            addCriterion("invoiceurl is not null");
            return (Criteria) this;
        }

        public Criteria andInvoiceurlEqualTo(String value) {
            addCriterion("invoiceurl =", value, "invoiceurl");
            return (Criteria) this;
        }

        public Criteria andInvoiceurlNotEqualTo(String value) {
            addCriterion("invoiceurl <>", value, "invoiceurl");
            return (Criteria) this;
        }

        public Criteria andInvoiceurlGreaterThan(String value) {
            addCriterion("invoiceurl >", value, "invoiceurl");
            return (Criteria) this;
        }

        public Criteria andInvoiceurlGreaterThanOrEqualTo(String value) {
            addCriterion("invoiceurl >=", value, "invoiceurl");
            return (Criteria) this;
        }

        public Criteria andInvoiceurlLessThan(String value) {
            addCriterion("invoiceurl <", value, "invoiceurl");
            return (Criteria) this;
        }

        public Criteria andInvoiceurlLessThanOrEqualTo(String value) {
            addCriterion("invoiceurl <=", value, "invoiceurl");
            return (Criteria) this;
        }

        public Criteria andInvoiceurlLike(String value) {
            addCriterion("invoiceurl like", value, "invoiceurl");
            return (Criteria) this;
        }

        public Criteria andInvoiceurlNotLike(String value) {
            addCriterion("invoiceurl not like", value, "invoiceurl");
            return (Criteria) this;
        }

        public Criteria andInvoiceurlIn(List<String> values) {
            addCriterion("invoiceurl in", values, "invoiceurl");
            return (Criteria) this;
        }

        public Criteria andInvoiceurlNotIn(List<String> values) {
            addCriterion("invoiceurl not in", values, "invoiceurl");
            return (Criteria) this;
        }

        public Criteria andInvoiceurlBetween(String value1, String value2) {
            addCriterion("invoiceurl between", value1, value2, "invoiceurl");
            return (Criteria) this;
        }

        public Criteria andInvoiceurlNotBetween(String value1, String value2) {
            addCriterion("invoiceurl not between", value1, value2, "invoiceurl");
            return (Criteria) this;
        }

        public Criteria andPaymentstatusIsNull() {
            addCriterion("paymentstatus is null");
            return (Criteria) this;
        }

        public Criteria andPaymentstatusIsNotNull() {
            addCriterion("paymentstatus is not null");
            return (Criteria) this;
        }

        public Criteria andPaymentstatusEqualTo(Integer value) {
            addCriterion("paymentstatus =", value, "paymentstatus");
            return (Criteria) this;
        }

        public Criteria andPaymentstatusNotEqualTo(Integer value) {
            addCriterion("paymentstatus <>", value, "paymentstatus");
            return (Criteria) this;
        }

        public Criteria andPaymentstatusGreaterThan(Integer value) {
            addCriterion("paymentstatus >", value, "paymentstatus");
            return (Criteria) this;
        }

        public Criteria andPaymentstatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("paymentstatus >=", value, "paymentstatus");
            return (Criteria) this;
        }

        public Criteria andPaymentstatusLessThan(Integer value) {
            addCriterion("paymentstatus <", value, "paymentstatus");
            return (Criteria) this;
        }

        public Criteria andPaymentstatusLessThanOrEqualTo(Integer value) {
            addCriterion("paymentstatus <=", value, "paymentstatus");
            return (Criteria) this;
        }

        public Criteria andPaymentstatusIn(List<Integer> values) {
            addCriterion("paymentstatus in", values, "paymentstatus");
            return (Criteria) this;
        }

        public Criteria andPaymentstatusNotIn(List<Integer> values) {
            addCriterion("paymentstatus not in", values, "paymentstatus");
            return (Criteria) this;
        }

        public Criteria andPaymentstatusBetween(Integer value1, Integer value2) {
            addCriterion("paymentstatus between", value1, value2, "paymentstatus");
            return (Criteria) this;
        }

        public Criteria andPaymentstatusNotBetween(Integer value1, Integer value2) {
            addCriterion("paymentstatus not between", value1, value2, "paymentstatus");
            return (Criteria) this;
        }

        public Criteria andInvoicestatusIsNull() {
            addCriterion("invoicestatus is null");
            return (Criteria) this;
        }

        public Criteria andInvoicestatusIsNotNull() {
            addCriterion("invoicestatus is not null");
            return (Criteria) this;
        }

        public Criteria andInvoicestatusEqualTo(Integer value) {
            addCriterion("invoicestatus =", value, "invoicestatus");
            return (Criteria) this;
        }

        public Criteria andInvoicestatusNotEqualTo(Integer value) {
            addCriterion("invoicestatus <>", value, "invoicestatus");
            return (Criteria) this;
        }

        public Criteria andInvoicestatusGreaterThan(Integer value) {
            addCriterion("invoicestatus >", value, "invoicestatus");
            return (Criteria) this;
        }

        public Criteria andInvoicestatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("invoicestatus >=", value, "invoicestatus");
            return (Criteria) this;
        }

        public Criteria andInvoicestatusLessThan(Integer value) {
            addCriterion("invoicestatus <", value, "invoicestatus");
            return (Criteria) this;
        }

        public Criteria andInvoicestatusLessThanOrEqualTo(Integer value) {
            addCriterion("invoicestatus <=", value, "invoicestatus");
            return (Criteria) this;
        }

        public Criteria andInvoicestatusIn(List<Integer> values) {
            addCriterion("invoicestatus in", values, "invoicestatus");
            return (Criteria) this;
        }

        public Criteria andInvoicestatusNotIn(List<Integer> values) {
            addCriterion("invoicestatus not in", values, "invoicestatus");
            return (Criteria) this;
        }

        public Criteria andInvoicestatusBetween(Integer value1, Integer value2) {
            addCriterion("invoicestatus between", value1, value2, "invoicestatus");
            return (Criteria) this;
        }

        public Criteria andInvoicestatusNotBetween(Integer value1, Integer value2) {
            addCriterion("invoicestatus not between", value1, value2, "invoicestatus");
            return (Criteria) this;
        }

        public Criteria andPaidurlIsNull() {
            addCriterion("paidurl is null");
            return (Criteria) this;
        }

        public Criteria andPaidurlIsNotNull() {
            addCriterion("paidurl is not null");
            return (Criteria) this;
        }

        public Criteria andPaidurlEqualTo(String value) {
            addCriterion("paidurl =", value, "paidurl");
            return (Criteria) this;
        }

        public Criteria andPaidurlNotEqualTo(String value) {
            addCriterion("paidurl <>", value, "paidurl");
            return (Criteria) this;
        }

        public Criteria andPaidurlGreaterThan(String value) {
            addCriterion("paidurl >", value, "paidurl");
            return (Criteria) this;
        }

        public Criteria andPaidurlGreaterThanOrEqualTo(String value) {
            addCriterion("paidurl >=", value, "paidurl");
            return (Criteria) this;
        }

        public Criteria andPaidurlLessThan(String value) {
            addCriterion("paidurl <", value, "paidurl");
            return (Criteria) this;
        }

        public Criteria andPaidurlLessThanOrEqualTo(String value) {
            addCriterion("paidurl <=", value, "paidurl");
            return (Criteria) this;
        }

        public Criteria andPaidurlLike(String value) {
            addCriterion("paidurl like", value, "paidurl");
            return (Criteria) this;
        }

        public Criteria andPaidurlNotLike(String value) {
            addCriterion("paidurl not like", value, "paidurl");
            return (Criteria) this;
        }

        public Criteria andPaidurlIn(List<String> values) {
            addCriterion("paidurl in", values, "paidurl");
            return (Criteria) this;
        }

        public Criteria andPaidurlNotIn(List<String> values) {
            addCriterion("paidurl not in", values, "paidurl");
            return (Criteria) this;
        }

        public Criteria andPaidurlBetween(String value1, String value2) {
            addCriterion("paidurl between", value1, value2, "paidurl");
            return (Criteria) this;
        }

        public Criteria andPaidurlNotBetween(String value1, String value2) {
            addCriterion("paidurl not between", value1, value2, "paidurl");
            return (Criteria) this;
        }

        public Criteria andDeletestateIsNull() {
            addCriterion("deletestate is null");
            return (Criteria) this;
        }

        public Criteria andDeletestateIsNotNull() {
            addCriterion("deletestate is not null");
            return (Criteria) this;
        }

        public Criteria andDeletestateEqualTo(Integer value) {
            addCriterion("deletestate =", value, "deletestate");
            return (Criteria) this;
        }

        public Criteria andDeletestateNotEqualTo(Integer value) {
            addCriterion("deletestate <>", value, "deletestate");
            return (Criteria) this;
        }

        public Criteria andDeletestateGreaterThan(Integer value) {
            addCriterion("deletestate >", value, "deletestate");
            return (Criteria) this;
        }

        public Criteria andDeletestateGreaterThanOrEqualTo(Integer value) {
            addCriterion("deletestate >=", value, "deletestate");
            return (Criteria) this;
        }

        public Criteria andDeletestateLessThan(Integer value) {
            addCriterion("deletestate <", value, "deletestate");
            return (Criteria) this;
        }

        public Criteria andDeletestateLessThanOrEqualTo(Integer value) {
            addCriterion("deletestate <=", value, "deletestate");
            return (Criteria) this;
        }

        public Criteria andDeletestateIn(List<Integer> values) {
            addCriterion("deletestate in", values, "deletestate");
            return (Criteria) this;
        }

        public Criteria andDeletestateNotIn(List<Integer> values) {
            addCriterion("deletestate not in", values, "deletestate");
            return (Criteria) this;
        }

        public Criteria andDeletestateBetween(Integer value1, Integer value2) {
            addCriterion("deletestate between", value1, value2, "deletestate");
            return (Criteria) this;
        }

        public Criteria andDeletestateNotBetween(Integer value1, Integer value2) {
            addCriterion("deletestate not between", value1, value2, "deletestate");
            return (Criteria) this;
        }

        public Criteria andDeleteflagIsNull() {
            addCriterion("deleteflag is null");
            return (Criteria) this;
        }

        public Criteria andDeleteflagIsNotNull() {
            addCriterion("deleteflag is not null");
            return (Criteria) this;
        }

        public Criteria andDeleteflagEqualTo(Integer value) {
            addCriterion("deleteflag =", value, "deleteflag");
            return (Criteria) this;
        }

        public Criteria andDeleteflagNotEqualTo(Integer value) {
            addCriterion("deleteflag <>", value, "deleteflag");
            return (Criteria) this;
        }

        public Criteria andDeleteflagGreaterThan(Integer value) {
            addCriterion("deleteflag >", value, "deleteflag");
            return (Criteria) this;
        }

        public Criteria andDeleteflagGreaterThanOrEqualTo(Integer value) {
            addCriterion("deleteflag >=", value, "deleteflag");
            return (Criteria) this;
        }

        public Criteria andDeleteflagLessThan(Integer value) {
            addCriterion("deleteflag <", value, "deleteflag");
            return (Criteria) this;
        }

        public Criteria andDeleteflagLessThanOrEqualTo(Integer value) {
            addCriterion("deleteflag <=", value, "deleteflag");
            return (Criteria) this;
        }

        public Criteria andDeleteflagIn(List<Integer> values) {
            addCriterion("deleteflag in", values, "deleteflag");
            return (Criteria) this;
        }

        public Criteria andDeleteflagNotIn(List<Integer> values) {
            addCriterion("deleteflag not in", values, "deleteflag");
            return (Criteria) this;
        }

        public Criteria andDeleteflagBetween(Integer value1, Integer value2) {
            addCriterion("deleteflag between", value1, value2, "deleteflag");
            return (Criteria) this;
        }

        public Criteria andDeleteflagNotBetween(Integer value1, Integer value2) {
            addCriterion("deleteflag not between", value1, value2, "deleteflag");
            return (Criteria) this;
        }

        public Criteria andStateIsNull() {
            addCriterion("state is null");
            return (Criteria) this;
        }

        public Criteria andStateIsNotNull() {
            addCriterion("state is not null");
            return (Criteria) this;
        }

        public Criteria andStateEqualTo(Integer value) {
            addCriterion("state =", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotEqualTo(Integer value) {
            addCriterion("state <>", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateGreaterThan(Integer value) {
            addCriterion("state >", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateGreaterThanOrEqualTo(Integer value) {
            addCriterion("state >=", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLessThan(Integer value) {
            addCriterion("state <", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLessThanOrEqualTo(Integer value) {
            addCriterion("state <=", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateIn(List<Integer> values) {
            addCriterion("state in", values, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotIn(List<Integer> values) {
            addCriterion("state not in", values, "state");
            return (Criteria) this;
        }

        public Criteria andStateBetween(Integer value1, Integer value2) {
            addCriterion("state between", value1, value2, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotBetween(Integer value1, Integer value2) {
            addCriterion("state not between", value1, value2, "state");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}